//初始化企业列表

layui.use(['layer', 'datatable', 'datatableButton', 'datatableFlash', 'datatableHtml5', 'datatablePrint', 'datatableColVis', 'datatableSelect'], function() {
    var $ = layui.jquery,
        layer = layui.layer;
    // oSort是排序类型数组, 'chinese-asc'是自己定义的类型的排序(*-asc || *-desc)名称
    // 插件应该会根据表格中的内容的类型(string, number, chinese)进行比较排序，
    // 如果以chinese类型来排序则用oSort['chinese-asc']和oSort['chinese-desc']的方法
    // oSort对应的function里面自定义比较方法
    $.fn.dataTableExt.oSort['chinese-asc'] = function(x, y) {
        //javascript自带的中文比较函数，具体用法可自行查阅了解
        return x.localeCompare(y);
    };

    $.fn.dataTableExt.oSort['chinese-desc'] = function(x, y) {
        return y.localeCompare(x);
    };
    // aTypes是插件存放表格内容类型的数组
    // reg赋值的正则表达式，用来判断是否是中文字符
    // 返回值push到aTypes数组，排序时扫描该数组，'chinese'则调用上面两个方法。返回null默认是'string'
    $.fn.dataTableExt.aTypes.push(
        function(sData) {
            var reg = /^[\u4e00-\u9fa5]{0,}$/;
            if(reg.test(sData)) {
                return 'chinese';
            }
            return null;
        }
    );
    $(document).ready(function() {
        var myTable = $('#noticemain').DataTable({
            "processing": false, //DataTables载入数据时，是否显示‘进度’提示
            "stateSave": true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态
            "scrollCollapse": true, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变
            "paginationType": "full_numbers", //详细分页组，可以支持直接跳转到某页
            "language": lang, //提示信息
            "autoWidth": false, //自适应宽度，
            "lengthMenu": [15, 30, 50],
            "stripeClasses": ["odd", "even"], //为奇偶行加上样式，兼容不支持CSS伪类的场合
            "searching": false, //是否允许Datatables开启本地搜索
            "paging": true, //是否开启本地分页
            "lengthChange": true, //是否允许产品改变表格每页显示的记录数
            "info": false, //控制是否显示表格左下角的信息
            "order": [0, 'asc'], //asc升序 desc降序 //跟数组下标一样，第一列从0开始，这里表格初始化时，第四列默认降序
            "aoColumnDefs": [{
                "orderable": false,
                "aTargets": [1,2,3] // 指定列不参与排序
            }],
            "deferRender": true, //延迟渲染
            "ajax": {
                url : url + '/ic-iot/notice/list',//users
                type : 'get',
                data:{
                    "pageNo":1,
                    "pageSize":15
                },
                dataType : 'json',
                beforeSend: function(request) {
                    request.setRequestHeader("accessToken", accessToken);
                },
                success : function(data) {
                    if(data['code'] == 1){
                        $('#noticemain').dataTable().fnAddData(data.result);
                    }else{
                        ifajax(data);
                    }
                }
            },
            "columns": [
                { //定义列
                "data":"riwso",
                "render":function(data, type, full, meta ){
                    return (meta.row+1);
                },
                "sTitle": "序号", //序号
                "sDefaultContent": "" //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
            }, {
                "data": "msg",
                "sTitle": "公告内容", //公告内容
                "sDefaultContent": "" //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
            }, {
                "data": function(obj) {
                    return replaceTime(obj.createTime / 1000);
                },
                "sTitle": "创建时间", //标题
                "sDefaultContent": "" //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
            }, {
                "data": function(obj) {
                    return '<span title="查看" data='+obj.noticeId+' class="handle-btn handle-btn-edit"><i style="color:#5ebdc7; font-size:20px;" class="layui-icon">&#xe60a;</i></span><span title="编辑" data='+obj.noticeId+' class="handle-btn handle-btn-updatepwd"><i style="color:#5ebdc7;" class="linyer icon-edit"></i></span><span title="删除" id='+obj.noticeId+' class="handle-btn handle-btn-delect"><i style="color:#5ebdc7;" class="linyer icon-delect"></i></span>';

                    //<span title="启用" class="handle-btn handle-btn-run"><i class="linyer icon-qiyong"></i></span>
                },
                "className": "td-handle",
                "sTitle": "操作", //标题
                "sDefaultContent": "" //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错
            }]
        });
        /**
         * 添加falsh
         */
        // $.fn.dataTable.Buttons.swfPath = "js/dataTables/extensions/Buttons/swf/flashExport.swf";
        // $.fn.dataTable.Buttons.defaults.dom.container.className = 'tableTools-box';
        /**
         * 操作栏
         */

        //console.log(myTable);
        myTable.buttons().container().appendTo($('.tableTools'));
        /**
         * 显示隐藏列
         */
        // var defaultColvisAction = myTable.button(0).action();
        // myTable.button(0).action(function(e, dt, button, config) {
        //     defaultColvisAction(e, dt, button, config);
        //     if($('.dt-button-collection > .dropdown-menu').length == 0) {
        //         $('.dt-button-collection')
        //             .wrapInner('<ul class="dropdown-menu" />')
        //             .find('a').attr('href', 'javascript:;').wrap("<li />")
        //     }
        //     $('.dt-button-collection').appendTo('.tableTools-box')
        // });
        /**
         * 复制到剪贴板
         */
        // var defaultCopyAction = myTable.button(1).action();
        // myTable.button(1).action(function(e, dt, button, config) {
        //     defaultCopyAction(e, dt, button, config);
        // });
        /**
         * 选择
         */
        // myTable.on('select', function(e, dt, type, index) {
        //     if(type === 'row') {
        //         $(myTable.row(index).node()).find('input:checkbox').prop('checked', true);
        //     }
        // });
        /**
         * 取消选择
         */
        // myTable.on('deselect', function(e, dt, type, index) {
        //     if(type === 'row') {
        //         $(myTable.row(index).node()).find('input:checkbox').prop('checked', false);
        //     }
        // });
        /**
         * 根据表头复选框 选择/取消选择所有行
         */
        // $(document).on('click', '#noticemain > thead > tr > th input[type=checkbox],#noticemain > tfoot > tr > th input[type=checkbox]', function() {
        //     var th_checked = this.checked;
        //     $('#noticemain').find('tbody > tr').each(function() {
        //         var row = this;
        //         if(th_checked) myTable.row(row).select();
        //         else myTable.row(row).deselect();
        //     });
        // });
        /**
         * 选中/取消选中复选框时 选中/取消选中一行
         */
        // $(document).on('click', '#noticemain tbody td input[type=checkbox]', function() {
        //     var row = $(this).closest('tr').get(0);
        //     if(!this.checked) myTable.row(row).deselect();
        //     else myTable.row(row).select();
        // });
        // $(document).on('click', '#noticemain tbody td', function() {
        //     var row = $(this).closest('tr').get(0);
        // })
    });
    /*上方添加公告*/
    $("#notice_add").on('click',function() {
        var obj = $(this);
        layer_show('添加公告', 'notice_add.html', '', '500', '280');
    });
    /*企业查看*/
    $('.table-sort').on('click', '.handle-btn-edit',  function() {
        var noticeId = $(this).attr("data");
        layer_show('查看公告', 'notice_details.html?noticeId='+noticeId, '', '500', '280');
    });
// TODO
// TODO
    /*企业修改*/
    $('.table-sort').on('click', '.handle-btn-updatepwd', function() {
        var noticeId = $(this).attr("data");
        layer_show('企业修改', 'notice_edit.html?noticeId='+noticeId, '', '500', '280');
    });
// TODO
// TODO
    /*用户-删除*/
    $('.table-sort').on('click', '.handle-btn-delect', function() {
        var obj = $(this);
        noticeId  = obj[0].id;
        layer.confirm('确认要删除吗？', {
            icon: 0,
            title: '警告',
            shade: false
        }, function(index) {
            $.ajax({
                url : url + '/ic-iot/notice/'+noticeId,
                type : 'delete',
                dataType : 'json',
                beforeSend: function(request) {
                    request.setRequestHeader("accessToken", accessToken);
                },
                success : function(data) {

                    if(data['code'] == 1){
                        $(obj).parents("tr").remove();//删除方法
                        layer.msg('已删除!', {
                            icon: 1,
                            time: 1000
                        });
                    }else{
                        ifajax(data);
                    }
                }
            });
        });
    });



});